package com.shiro.demo.service;

import com.shiro.demo.domain.Permission;
import com.shiro.demo.domain.Role;
import com.shiro.demo.vo.RolePermissionVO;

import java.util.List;
import java.util.Set;

public interface UserRolePermissionService {

    /**
     * 通过用户id获取用户拥有的角色
     */
    List<Role> roleListByUserId(Long userId);

    /**
     * 通过用户的角色集合，获得用户去重后的权限集合
     */
    List<Permission> permissionListByRoleIds(Set<Long> roleIds);


    List<RolePermissionVO> rolePermissionList();

    /**
     * 所有可用状态的权限集合
     */
    List<Permission> permissionList();
}
